package main

import (
	"fmt"
	"time"
)

/*
	goroutine 是非抢占式的，但是调度器也会有一些切换点
	比如：I/O，select
		channel
		等待锁
		函数调用
		runtime.Gosched()
	只是一个参考，可能切换也可能不切换
*/
func main() {

	var arr [10]int
	for i := 0; i < 10; i++ {
		go func(i int) {
			for {
				arr[i]++
			}
		}(i)
	}
	time.Sleep(1 * time.Millisecond)
	fmt.Println(arr)
}
